<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns:h="livcos.org/ns/cosmos/history"
  exclude-result-prefixes="h">
	
	<xsl:import href="../../style/base.xsl"/>
  
	<xsl:output method="text"/>

	<xsl:template match="/">
		<xsl:apply-templates select="$jobObject/h:changes"/>
	</xsl:template>
	
	<xsl:template match="h:changes">
		<xsl:text>{"changes": [</xsl:text>
		<xsl:apply-templates select="h:change"/>
		<xsl:text>], "state": "</xsl:text>
		<xsl:value-of select="../state[last()]/@type"/>
		<xsl:text>"}</xsl:text>
	</xsl:template>
	
	<xsl:template match="h:change">
		<xsl:if test="position() > 1">,</xsl:if>
		<xsl:text>{</xsl:text>
		<xsl:apply-templates select="@obj"/>
		<xsl:text>, "actions": [</xsl:text>
		<xsl:apply-templates select="h:*"/>
		<xsl:text>]}</xsl:text>
	</xsl:template>
	
	<xsl:template match="h:*">
		<xsl:if test="position() > 1">, </xsl:if>
		<xsl:text>{"type": "</xsl:text>
		<xsl:value-of select="local-name()"/>
		<xsl:text>", </xsl:text>
		<xsl:apply-templates select="@*"/>
		<xsl:text>}</xsl:text>
	</xsl:template>
	
	<xsl:template match="@*">
		<xsl:if test="position() > 1">, </xsl:if>
		<xsl:text>"</xsl:text>
		<xsl:value-of select="local-name()"/>
		<xsl:text>": "</xsl:text>
		<xsl:value-of select="."/>
		<xsl:text>"</xsl:text>
	</xsl:template>
	
	<xsl:template match="h:insertt">
		<xsl:text>insert: {</xsl:text>
		<xsl:value-of select="local-name(..)"/>
		<xsl:text>","</xsl:text>
		<xsl:value-of select="../../@obj"/>
		<xsl:text>","</xsl:text>
		<xsl:value-of select="."/>
		<xsl:text>",</xsl:text>
	</xsl:template>
	
	<xsl:template match="@ref_">
		<xsl:text>"</xsl:text>
		<xsl:value-of select="local-name(..)"/>
		<xsl:text>","</xsl:text>
		<xsl:value-of select="../../@obj"/>
		<xsl:text>","</xsl:text>
		<xsl:value-of select="."/>
		<xsl:text>",</xsl:text>
	</xsl:template>
	
</xsl:stylesheet>
